package gat.dto.res.backgroundUser;

import java.time.LocalDateTime;
import java.util.List;

import org.springframework.validation.annotation.Validated;

import com.bitsun.core.framwork.api.dto.IResponseDto;
import com.fasterxml.jackson.annotation.JsonProperty;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 
 * @Author: tmac
 * @Email: tmac
 */
@Validated
@AllArgsConstructor
@NoArgsConstructor
@Data
@ApiModel
public class BackgroundUserResDto implements IResponseDto {
    private static final long serialVersionUID = 1L;

    /**
     * 主键 BIGINT
     */
    @ApiModelProperty(value = "主键")
    @JsonProperty(index = 0)

    private Long id;

    /**
     * 用户编码 varchar
     */
    @ApiModelProperty(value = "用户编码")
    @JsonProperty(index = 140)
    private String userCode;
    /**
     * 手机号 VARCHAR
     */
    @ApiModelProperty(value = "手机号")
    @JsonProperty(index = 10)

    private String phone;
    /**
     * 用户名 VARCHAR
     */
    @ApiModelProperty(value = "用户名")
    @JsonProperty(index = 20)

    private String username;
    /**
     * 密码 VARCHAR
     */
    @ApiModelProperty(value = "密码")
    @JsonProperty(index = 30)

    private String password;
    /**
     * 昵称 VARCHAR
     */
    @ApiModelProperty(value = "昵称")
    @JsonProperty(index = 40)

    private String nickname;
    /**
     * 真实姓名 VARCHAR
     */
    @ApiModelProperty(value = "真实姓名")
    @JsonProperty(index = 50)

    private String realName;
    /**
     * 头像 VARCHAR
     */
    @ApiModelProperty(value = "头像")
    @JsonProperty(index = 60)

    private String headPic;
    /**
     * 账户状态 SMALLINT
     */
    @ApiModelProperty(value = "账户状态")
    @JsonProperty(index = 70)

    private Integer status;

    /**
     * token VARCHAR
     */
    @ApiModelProperty(value = "token")
    private String token;

    /**
     * 角色列表
     */
    @ApiModelProperty(value = "角色列表")

    private List<RoleResDto> roleList;

    /**
     * 角色id
     */
    @ApiModelProperty(value = "角色id")

    private String roleId;

    /**
     * 创建时间 TIMESTAMP
     */
    @ApiModelProperty(value = "创建时间")
    @JsonProperty(index = 100)
    private LocalDateTime createTime;

    /**
     * google验证器密钥
     */
    @ApiModelProperty(value = "google验证器密钥")
    @JsonProperty(index = 100)
    private String secretKey;

    private String botName;

}
